using System.Runtime.CompilerServices;
using Triton.Game.Mapping;

namespace Triton.Game.Abstraction
{
	public class EntityDef
	{
		[CompilerGenerated]
		private Triton.Game.Mapping.EntityDef entityDef_0;

		[CompilerGenerated]
		private string string_0;

		[CompilerGenerated]
		private TAG_CLASS tag_CLASS_0;

		[CompilerGenerated]
		private TAG_RACE tag_RACE_0;

		[CompilerGenerated]
		private TAG_RARITY tag_RARITY_0;

		[CompilerGenerated]
		private string string_1;

		[CompilerGenerated]
		private string string_2;

		[CompilerGenerated]
		private int int_0;

		[CompilerGenerated]
		private int int_1;

		[CompilerGenerated]
		private int int_2;

		[CompilerGenerated]
		private int int_3;

		[CompilerGenerated]
		private int int_4;

		[CompilerGenerated]
		private int int_5;

		[CompilerGenerated]
		private int int_6;

		[CompilerGenerated]
		private TAG_CARDTYPE tag_CARDTYPE_0;

		internal Triton.Game.Mapping.EntityDef EntityDef_0
		{
			[CompilerGenerated]
			get
			{
				return entityDef_0;
			}
			[CompilerGenerated]
			set
			{
				entityDef_0 = value;
			}
		}

		public string CardId
		{
			[CompilerGenerated]
			get
			{
				return string_0;
			}
			[CompilerGenerated]
			private set
			{
				string_0 = value;
			}
		}

		public TAG_CLASS Class
		{
			[CompilerGenerated]
			get
			{
				return tag_CLASS_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_CLASS_0 = value;
			}
		}

		public TAG_RACE Race
		{
			[CompilerGenerated]
			get
			{
				return tag_RACE_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_RACE_0 = value;
			}
		}

		public TAG_RARITY Rarity
		{
			[CompilerGenerated]
			get
			{
				return tag_RARITY_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_RARITY_0 = value;
			}
		}

		public string Name
		{
			[CompilerGenerated]
			get
			{
				return string_1;
			}
			[CompilerGenerated]
			private set
			{
				string_1 = value;
			}
		}

		public string FlavorText
		{
			[CompilerGenerated]
			get
			{
				return string_2;
			}
			[CompilerGenerated]
			private set
			{
				string_2 = value;
			}
		}

		public int Cost
		{
			[CompilerGenerated]
			get
			{
				return int_0;
			}
			[CompilerGenerated]
			private set
			{
				int_0 = value;
			}
		}

		public int Attack
		{
			[CompilerGenerated]
			get
			{
				return int_1;
			}
			[CompilerGenerated]
			private set
			{
				int_1 = value;
			}
		}

		public int Health
		{
			[CompilerGenerated]
			get
			{
				return int_2;
			}
			[CompilerGenerated]
			private set
			{
				int_2 = value;
			}
		}

		public int Charge
		{
			[CompilerGenerated]
			get
			{
				return int_3;
			}
			[CompilerGenerated]
			private set
			{
				int_3 = value;
			}
		}

		public int Silence
		{
			[CompilerGenerated]
			get
			{
				return int_4;
			}
			[CompilerGenerated]
			private set
			{
				int_4 = value;
			}
		}

		public int Taunt
		{
			[CompilerGenerated]
			get
			{
				return int_5;
			}
			[CompilerGenerated]
			private set
			{
				int_5 = value;
			}
		}

		public int Battlecry
		{
			[CompilerGenerated]
			get
			{
				return int_6;
			}
			[CompilerGenerated]
			private set
			{
				int_6 = value;
			}
		}

		public TAG_CARDTYPE CardType
		{
			[CompilerGenerated]
			get
			{
				return tag_CARDTYPE_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_CARDTYPE_0 = value;
			}
		}

		public EntityDef(Triton.Game.Mapping.EntityDef backingObject)
		{
			EntityDef_0 = backingObject;
			CardId = EntityDef_0.GetCardId();
			Class = EntityDef_0.GetClass();
			Race = EntityDef_0.GetRace();
			Rarity = EntityDef_0.GetRarity();
			Name = EntityDef_0.GetName();
			FlavorText = EntityDef_0.GetFlavorText();
			CardType = EntityDef_0.GetCardType();
			Cost = EntityDef_0.GetTag(GAME_TAG.COST);
			Attack = EntityDef_0.GetTag(GAME_TAG.ATK);
			Health = EntityDef_0.GetTag(GAME_TAG.HEALTH);
			Charge = EntityDef_0.GetTag(GAME_TAG.CHARGE);
			Silence = EntityDef_0.GetTag(GAME_TAG.SILENCE);
			Taunt = EntityDef_0.GetTag(GAME_TAG.TAUNT);
			Battlecry = EntityDef_0.GetTag(GAME_TAG.BATTLECRY);
		}
	}
}
